home *** CD-ROM | disk | FTP | other *** search
-
- LANGTOOLS
- ---------
-
- Langtools contains the following Fortran utilities:
-
- ftnlist - source code listing
- ftnlint - fortran lint utility
- ftnsplit - f90 aware split/file dependecy analysis
- ftnmgen - fortran makefile generator
- ftnchop - program unit problem isolator
-
- All of these utilities work with both f90 and f77 source. f90 Version 7.2
- is required for ftnlist, ftnlint, ftnsplit, and ftnmgen. The compiler
- is invoked as a by-product of running ftnsplit and ftnmgen.
-
- ftnlist
- -------
-
- A listing utility which produces more cross reference information than
- that provided with f90 -listing. To use, it is required to compile the
- Fortran source with the -cif option enabled. For example:
-
- % f90 -cif -c file.f
- % ftnlist file.f > file.list
-
- Information provided includes: variable and common block cross refernce
- tables, user defined type lists, loop information, static call
- graph details, etc.
-
- ftnlist also provides (by default) all of the information that ftnlint
- produces.
-
- ftnlint
- -------
-
- The ftnlint command checks Fortran programs for program constructs
- that may need further investigation. ftnlint perform these checks
- on two levels: local per subprogram and global for all encountered
- subprograms. For example:
-
- % f90 -cif -c file.f
- % ftnlint file.f > file.lint
- % more file.lint
-
- ftnlint 2.3: initiated 08:48 Thu Jul24,1997 (created 14:02 Wed Jul23,97)
- ftnlint a.f
-
- ##################################################################################################################################
-
-
-
- DEMO(line 1) - 11 ftnlint messages
-
- 1) <41> No references to PARAMETER "DUMMY"
- 2) <41> No references to PARAMETER "ERF"
- 3) <11> No references to COMMON /NEW/
- 4) <11> No references to COMMON /DAVES/
- 5) <11> No references to COMMON /JIM/
- 6) <11> No references to COMMON /_BLNK__/
- 7) <1> Local Variable "EXTIME" may be used before it is assigned a value
- 8) <4> Local Variable "I" is assigned a value but never used
- 9) <3> Local Variable "MC" is used but never assigned a value
-
- TEST(line 42) - 1 ftnlint message
-
- 1) <52> Subprogram TEST() appears to not do anything. That is, there
- are no external calls, no I/O, and no Arguments or COMMON
- Block elements are written or passed.
-
- etc.
-
-
- ftnsplit
- --------
-
- The ftnsplit utility splits named Fortran files into separate files,
- with one unit per file, and lists the resultant files. Each unit
- includes the following program segments: blockdata, function, main
- program, module, and subroutine.
-
- ftnsplit works with f90 source code (ie as opposed to fsplit which only
- works with f77 source).
-
- In addition, ftnsplit may be used to show inter-file dependencies. That
- is, for include file usage and module usage. For example:
-
- file.f
- program fred
- include "abc.h"
- ...
- end program fred
- subroutine jim
- use harry
- ...
- end subroutine jim
-
- harry.f
- module harry
- ...
- end module harry
-
-
- % ftnsplit -xm file.f harry.f
- fred
- abc.h
- jim
- module harry
- harry
-
- Or
- % ftnsplit -a file.f harry.f
- file.f
- abc.h
- module harry from file harry.f
-
-
- ftnmgen
- -------
-
- ftnmgen may be used to produce makefiles for compiling Fortran source
- code. By default, ftnmgen uses ftnsplit to create multiple unit file's
- and creates a makefile to compile and link those files. For example:
-
- % ftnmgen a.f
- demo.f
- test.f
- % make
- f90 -c demo.f
- f90 -c test.f
- f90 -o a.out demo.o test.o
-
- Alternatively, a file base makefile can be created. For example:
-
- % ftnmgen -a a.f
- a.f
- % make
- f90 -c a.f
- f90 -o a.out a.o
-
-
- ftnchop
- -------
-
- The ftnchop utility is a program that isolates problems to object file
- level by using a mix-and-match technique. This utility is most useful
- with programs that contain several source files. To run the ftnchop
- utility you need to have one working version of a program and one
- version that is not working. When run, ftnchop finds the object files
- that are causing the program to malfunction. Debugging efforts can
- then be concentrated to those files.
-
-
-
- /* USMID @(#) langtools/relnotes/ch1.txt 30.1 10/26/98 12:45:52 */
- /*
- * (C) COPYRIGHT SILICON GRAPHICS, INC.
- * UNPUBLISHED PROPRIETARY INFORMATION.
- * ALL RIGHTS RESERVED.
- */
-